#ifndef WORKUNITGROUP_H_
#define WORKUNITGROUP_H_

#include <set>
#include "WorkUnit.h"
#include "WorkUnitData.h"


namespace ComputingObjects
{

class WorkUnitGroupParams : public WorkUnitData {
	
};

class WorkUnitGroup : public WorkUnit
{
public:
	WorkUnitGroup(std::string id, WorkUnitGroupParams& params);
	virtual ~WorkUnitGroup();
	
	void addWorkUnit(SharedWorkUnit aWU);
	void removeWorkUnit(SharedWorkUnit aWU);
	
	void compute();
	
private:
	std::set<SharedWorkUnit> myWorkUnits;
};

}

#endif /*WORKUNITGROUP_H_*/
